1. Field of the Invention
The invention relates generally to spread-spectrum systems and, in particular, to systems that utilize reference pulse shapes of the correlation functions to improve the determination of the position and time estimation of radio location devices, such as GPS receivers.
2. Background Information
One example of a system that utilizes broadcast spread-spectrum signals is a global positioning system, such as, GPS, GLONAS or GALILEO systems. The system receivers determine their global positions based on the signals they receive from associated satellites. The broadcast spread-spectrum signal consists of a carrier that is modulated by at least one pseudorandom code, such as a binary PRN code that is a pseudo random sequence of one and zeros that periodically repeat. The ones and zeros in the PRN code are referred to as “code chips,” and the transitions in the code from one to zero or zero to one, which occur at “code chip times,” are referred to as “chip transitions.” Each satellite uses a unique set of PRN codes on the signals it transmits, and thus, a receiver can associate a received signal with a particular satellite by determining which PRN code is included in the signal.
The receiver calculates the difference between the time a satellite transmits its signal and the time that the receiver receives the signal. The receiver then calculates its distance, or “pseudorange,” from the satellite based on the associated time difference. Using the pseudoranges from at least four satellites, the receiver determines its global position and estimates the receiver time.
To determine the relative difference between the time a signal is transmitted and the time the signal is received, the receiver correlates a locally-generated version of the signal with the received signal. In particular, the receiver correlates a locally-generated carrier and a locally-generated PRN code with the carrier and the PRN code transmitted by the satellite. The timing of the locally-generated signal relative to the received signal is continually adjusted using information from correlation processes, to bring the locally generated signal into alignment with the received signal. Periodically, the receiver (a) samples the state, or the phase, of the locally generated signal in terms of fractions of chips, whole chips and code epochs of the PRN code, and carrier signal phase, and (b) converts the sampled state into a signal transmission time.
The receiver computes the signal travel times using a current estimate of the receiver time and the signal transmission times associated with at least four satellites and converts the signal travel times to distances. The receiver then combines the distances with respective computed satellite positions, estimates of associated ionospheric and tropospheric delays, and initial estimates of receiver position and time to produce refined estimates of receiver position and time.
The accuracy in synchronizing the state of the receiver-generated signals with the received signals directly affects the accuracy with which the receiver estimates its global position and time. The PRN code synchronization operations include the acquisition of the satellite PRN code and the tracking of the code. To acquire the PRN code, the receiver generally makes a series of correlation measurements that are separated in time by one or one-half code chip, to determine when the locally generated code aligns with the received code to within one code chip. To track the PRN code, the receiver generally makes correlation measurements that are associated with the received PRN code and early and late versions of the locally generated PRN code. Using the early and late correlation measurements, the receiver produces an associated error signal that is proportional to the misalignment between the local PRN code and the received PRN code. The error signal is used, in turn, to control the PRN code generator, which shifts the phase of the local PRN code essentially to minimize the error signal.
The receiver typically aligns the satellite carrier with a local carrier using correlation measurements associated with a punctual version of the local PRN code. To do this the receiver uses a carrier tracking phase lock loop.
The performance of the receiver in determining its position and time can be improved if the receiver is provided with additional information relating to estimated computation errors and also estimates of atmospheric, i.e., the ionospheric and tropospheric, delays. The sources of the errors in the calculations include satellite state errors, such as, for example, the differences between the computed and actual time bases for the satellites and the computed and actual positions of the satellites. Another source of errors is the corruption of the received signal by multipath signals, which are signals that travel along different paths and are reflected to the receiver from the ground, bodies of water, nearby buildings, etc.
One or more receivers at known locations monitor the satellite signals and produce corrections for the atmospheric delay information and the satellite state information. These one or more receivers may provide the corrections to remote receivers, which then incorporate the corrections into their real time position and time calculations. Alternatively, the corrections may be stored along with the correlation measurements made by the respective remote receivers, such that off-line adjustments can be made to the position and time calculations.
The multipath signals, which arrive at the receiver after the direct-path signal, combine with the direct-path signal to produce a distorted received signal. The distortion adversely affects code synchronization operations because the correlation measurements, which measure the correlation between the local PRN code and the received signal, are based on the entire received signal—including the multipath components thereof. Accordingly, the distortion may induce errors in the receiver synchronization process with the direct-path signal.
One way to more accurately synchronize the received and the locally-generated PRN codes is to use narrow correlation techniques as described in U.S. Pat. Nos. 5,101,416; 5,390,207 and 5,495,499. Another way is to use a multipath mitigation technique (“MMT”) that iteratively produces estimates of the correlation function pulse shapes associated with the direct path signal and one or more of the multipath signals.
One such technique is described in U.S. Pat. Nos. 5,615,232 and 5,692,008, and a related technique that uses multiple correlators is described in U.S. Pat. No. 5,414,729. The MMT's may be used alone or in combination with the narrow correlation technique.
The GNSS receivers may use reference pulse shapes as part of the multipath mitigation processing operations, to aid in determining the direct path signal. The reference pulse shapes are associated with characteristic pulse shape models that are based on a set of correlation values associated with a given type of PRN code, i.e., a C/A code or a P code. As described in U.S. Pat. No. 5,615,232, the reference pulse shapes may be produced using correlation measurements that are made in the absence of significant signal noise and multipath signals, using a PRN code signal produced by a signal simulator. The reference pulse shapes, which are stored in, for example, a table in the receiver, are retrieved for use in the multipath mitigation calculations as described in the U.S. Pat. No. 5,615,232. In practice, the receiver manufacturers may operate a receiver in an environment that is free of multipath signals and determine the reference code pulse shapes using the GNSS satellite signals.
An improvement to the multipath mitigation technique uses reference pulse shapes for “code families” within the code types. A code family is defined by a set of correlation values that correspond to differences in alignment of ±1 chip and/or ±2 chips, with codes in the same family having the same set of correlation values. With the GPS C/A code, a one chip delay defines three C/A code families by the three possible correlation values or 1, 0 or −1. Using both one and two chip delays, there are nine possibilities, however, two combinations of the values do not occur with the C/A code and there are thus seven C/A codes families. Each of the 7 families has its own reference pulse shape.
While the multipath mitigation techniques work well, there is room for some improvement. In particular, there is room for improvement in situations in which the timing of the chip transitions in the multipath signals is very close to the timing of the chip transitions in the direct path signal. In such situations, the known prior systems may introduce residuals and associated tracking errors into the processing based on the differences between the reference pulse shapes and the pulse shapes that correspond to the transmitted codes. Accordingly, what is needed is a mechanism to reduce the residuals and associated tracking errors.
The typical correlation process described above produces the distinctive triangularly shaped function. The functionality of this correlation process, namely, determining the relative alignment between received and locally generated signals, can also be accomplished using other techniques. The other techniques may, however, result in the function having a shape other than the traditional triangular shape. In particular, as discussed in a co-pending patent application entitled Apparatus For And Method of Making Pulse-Shape Measurements, filed Apr. 13, 2004 and accorded U.S. Ser. No. 10/823,030, which is incorporated herein in its entirety by reference, a system may employ a pre-correlation filtering process that produces a step shaped function.
The pre-correlation filtering process can measure distortions in the perceived signal with greater fidelity than a traditional correlation process, as is described in the co-pending patent application. The improved fidelity is a result of measuring a signal within several well-defined ranges with respect to an estimated chip transition location rather than using a measurement that is obtained through an integration process. I have determined that the use of reference pulse shape models, here reference step shape models, provides further improvement to the receiver that uses the pre-correlation filtering process, as discussed in more detail below.
Further, as is also discussed below, I have determined that certain benefits can be achieved by using reference pulse shapes in other receiver operations, that is, in operations other than multipath mitigation processing, such as in position estimation and timing estimation operations that are included in differential operating modes and in signal quality monitoring operations.